﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraBars;
using DevExpress.XtraEditors;
using DevExpress.XtraBars.Helpers;

namespace eSolution_HRMSS.Winforms
{
    public partial class Main_Form : DevExpress.XtraBars.Ribbon.RibbonForm
    {
        public Main_Form()
        {
            InitializeComponent();
            InitSkinGallery();
        }

        private void barButtonItem1_ItemClick(object sender, ItemClickEventArgs e)
        {

        }

        private void btdsnhanvien_cha_ItemClick(object sender, ItemClickEventArgs e)
        {
            UserControls.UC_DanhSachNhanVien dsnv= new UserControls.UC_DanhSachNhanVien();
            AddTab(xtraTabControl1, "", dsnv);
        }

        private void barButtonItem12_ItemClick(object sender, ItemClickEventArgs e)
        {
            UserControls.UC_DanhSachNhanVien dsnv = new UserControls.UC_DanhSachNhanVien();
            AddTab(xtraTabControl1, "", dsnv);
        }

        private void Main_Form_Load(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
        }


        void InitSkinGallery()
        {
            SkinHelper.InitSkinGallery(rgbiSkins, true);
        }



        public void AddTab(DevExpress.XtraTab.XtraTabControl XtraTabCha, string icon, XtraUserControl UserControl)
        {
            int t = 0;
            foreach (DevExpress.XtraTab.XtraTabPage tab in xtraTabControl1.TabPages)
            {
                if (tab.Text == UserControl.Tag.ToString())
                {
                    xtraTabControl1.SelectedTabPage = tab;
                    t = 1;
                }
            }
            if (t == 1)
            {

            }
            else
            {
                // Nếu chưa có TAb này thì gọi hàm Addtab xây dựng ở trên để Add Tab con vào
                // Khởi tạo 1 Tab Con (XtraTabPage) 
                DevExpress.XtraTab.XtraTabPage TAbAdd = new DevExpress.XtraTab.XtraTabPage();
                // Đặt đại cái tên cho nó là TestTab (Đây là tên nhé)
                TAbAdd.Name = UserControl.Name;
                // Tên của nó là đối số như đã nói ở trên
                TAbAdd.Text = UserControl.Tag.ToString();
                // Add đối số UserControl vào Tab con vừa khởi tạo ở trên
                TAbAdd.Controls.Add(UserControl);
                // Dock cho nó tràn hết TAb con đó
                UserControl.Dock = DockStyle.Fill;
                try
                {
                    // Icon của Tab con khi add vào Tab cha sẽ được quy định ở đây(cái này các bác tự chọn đường dẫn đến file Icon đó nhé)
                    TAbAdd.Image = System.Drawing.Bitmap.FromFile(System.Windows.Forms.Application.StartupPath.ToString() + @"\Icons\" + icon);

                }
                catch (Exception e)
                {
                }
                // Quăng nó lên TAb Cha (XtraTabCha là đối số thứ nhất như đã nói ở trên) 
                XtraTabCha.TabPages.Add(TAbAdd);
            }
        }

        private void ribbon_Click(object sender, EventArgs e)
        {

        }

        private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e)
        {
            DevExpress.XtraTab.XtraTabControl tabControl = sender as DevExpress.XtraTab.XtraTabControl;
            DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs arg = e as DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs;
            (arg.Page as DevExpress.XtraTab.XtraTabPage).Dispose();
            
        }

        private void xtraTabControl1_ControlAdded(object sender, ControlEventArgs e)
        {
            xtraTabControl1.SelectedTabPageIndex = xtraTabControl1.TabPages.Count - 1;
        }

        private void barButtonItem3_ItemClick(object sender, ItemClickEventArgs e)
        {
            UserControls.DanhMuc.UC_DanhMuc dm = new UserControls.DanhMuc.UC_DanhMuc();
            AddTab(xtraTabControl1, "", dm);
        }


    }
}